package com.bright.dev.util;

import java.io.File;



public class DeleteFolder {
	public static void main(String[] args) {
		deleteDirectory("D://Wildfly/wildfly-11.0.0.Final/standalone/data/fs1/2018/03");	
	}
		/**
		 * 删除目录及目录下的文件
		 *
		 * @param dir
		 *            要删除的目录的文件路径
		 * @return 目录删除成功返回true，否则返回false
		 */
		public static boolean deleteDirectory(String dir) {
			// 如果dir不以文件分隔符结尾，自动添加文件分隔符
			if (!dir.endsWith(File.separator))
				dir = dir + File.separator;
			File dirFile = new File(dir);
			// 如果dir对应的文件不存在，或者不是一个目录，则退出
			if ((!dirFile.exists()) || (!dirFile.isDirectory())) {
				System.out.println("删除目录失败：" + dir + "不存在！");
				return false;
			}
			boolean flag = true;
			// 删除文件夹中的所有文件包括子目录
			File[] files = dirFile.listFiles();
			for (int i = 0; i < files.length; i++) {
				// 删除子文件
				if (files[i].isFile()) {
					flag = DeleteFolder.deleteFile(files[i].getAbsolutePath());
					if (!flag)
						break;
				}
				// 删除子目录
				else if (files[i].isDirectory()) {
					flag = DeleteFolder.deleteDirectory(files[i].getAbsolutePath());
					if (!flag)
						break;
				}
			}
			if (!flag) {
				System.out.println("删除目录失败！");
				return false;
			}
			// 删除当前目录
			if (dirFile.delete()) {
				System.out.println("删除目录" + dir + "成功！");
				//保存数据库
				return true;
			} else {
				return false;
			}
		}
		 /**
	     * 删除单个文件
	     *
	     * @param fileName
	     *            要删除的文件的文件名
	     * @return 单个文件删除成功返回true，否则返回false
	     */
	    public static boolean deleteFile(String fileName) {
	        File file = new File(fileName);
	        // 如果文件路径所对应的文件存在，并且是一个文件，则直接删除
	        if (file.exists() && file.isFile()) {
	            if (file.delete()) {
	                System.out.println("删除单个文件" + fileName + "成功！");
	                return true;
	            } else {
	                System.out.println("删除单个文件" + fileName + "失败！");
	                return false;
	            }
	        } else {
	            System.out.println("删除单个文件失败：" + fileName + "不存在！");
	            return false;
	        }
	    }

	}
